The present invention relates to data processing of handwritten information captured by pen-enabled computing systems and, more particularly, to a system, device, computer program product, and method for representing a plurality of electronic ink data points.
Pen-enabled computing is a relatively recent development wherein a user interfaces with a computing system by way of a writing stylus instead of a mouse or a keyboard. In some instances, a pen-enabled computing system provides an electronic writing tablet having an overlaid writing surface. Such a writing surface may comprise, for example, a blank sheet of paper or a preprinted form. The writing stylus, in turn, may comprise a device capable of inputting data (a xe2x80x9chandwriting inputxe2x80x9d) into the pen-enabled computing system while providing both a visible, or xe2x80x9cwritten ink,xe2x80x9d copy of the data on the writing surface and an xe2x80x9celectronicxe2x80x9d copy of the data within the pen-enabled computing system. Such a writing stylus may comprise, for example, a conventional pen, a conventional pencil, a radio transmitter, a magnetic or electric field device, an optical device, an ultrasound transceiver, or combinations thereof.
Once the electronic copy of the data is entered into the pen-enabled computing system, the data may be stored as an xe2x80x9celectronic inkxe2x80x9d copy, wherein the handwriting input is captured as written, or as a xe2x80x9ctextxe2x80x9d copy, wherein the handwriting input is captured, recognized, and translated into the corresponding text. In some instances, the pen-enabled computing system may be capable of producing both an electronic ink and a text copy of the handwriting input. Since the writing stylus is generally capable of providing a written ink copy of the handwriting input on the writing surface, the user is automatically provided with a hard copy, or visual feedback, of the entered data. It is understood, however, that a written ink copy of the handwriting input may not be provided in some instances, wherein the handwriting input is only captured and stored in the pen-enabled computing system as an electronic copy. Examples of pen enabled computing devices include the CrossPad(trademark) portable digital notepad by the A. T. Cross Company and the Palm Connected Organizer(trademark) personal data assistant (PDA) by Palm, Inc.
Typically, the pen-enabled computing system senses the position and/or movement of the writing stylus with respect to the electronic writing tablet, which is stored in the pen-enabled computing system as a series of electronic ink data points constituting the handwriting input. In these systems, the electronic ink data points consist of, or are converted to, sets of Cartesian coordinates representing points along the path of the writing stylus as it moves with respect to the electronic writing tablet. The handwriting input is often then desirably used for other purposes. However, for the handwriting input to be subsequently utilized, it is often translated from the user""s handwriting to text form. While text translation schemes may facilitate practical uses for the handwritten data, they are often not able to accurately translate the user""s handwriting. In addition, translation routines may require additional processing and storage capacity which could be used for other purposes and may add size and cost to the pen-enabled computing system.
Some conventional pen-enabled computing systems utilize handwriting input without necessarily requiring the handwriting input to first be translated into text form. Typically, in these systems, the pen-enabled computing system stores the sets of Cartesian coordinates to allow the system or a separate computer or processor to reconstruct the handwriting input, either immediately or at a later time. Conventional representations of sets of coordinates may require several (e.g., three or four) bytes per coordinate pair. As such, a single paper page of handwriting can consist of thousands of coordinate pairs. In this regard, conventional systems may require several thousand bytes to represent a single paper page. Thus, conventional systems may require significant storage capacity and communications bandwidth to store and transmit electronic ink data.
To decrease the storage capacity required to store a set of electronic ink data points, some systems encode the data points. In some systems, the electronic ink data points are encoded by storing and/or transmitting the initial point of the writing stylus and, thereafter, storing and/or transmitting the first derivative of each subsequent point along the path of the writing stylus as the writing stylus moves with respect to the electronic handwriting tablet. In other systems, the electronic ink data points are encoded using an encoding algorithm, such as Huffman coding. The encoded electronic ink data points are then stored and/or transmitted to a separate computer or processor in a more efficient manner. In order to recreate the handwriting input, the encoded data points are subsequently decoded. While these systems reduce the storage capacity required to store and/or the bandwidth required to transmit a set of electronic ink data points, it would still be desirable to further reduce the storage capacity and/or bandwidth required to transmit the data points. Thus, there exists a need for a pen-enabled computing system capable of representing a series of electronic ink data points in a manner that further reduces the storage capacity required to store and/or the bandwidth required to transmit the data points.
In light of the foregoing background, the present invention provides a pen-enabled computing system, device, computer program product and associated method for representing a plurality of electronic ink data points in a manner that requires less storage capacity to store and/or less bandwidth to transmit the data points than conventional systems and methods. Generally, the pen-enabled computing device includes a writing stylus, a handwriting capture interface and a processing element. The handwriting capture interface is capable of capturing electronic ink data points based upon the position of the writing stylus. For example, the handwriting capture interface may include an electronic handwriting tablet that is capable of sensing the position of the writing stylus. Additionally, the processing element is capable of determining a high-order derivative of the electronic ink data points and thereafter encoding the high-order derivative of the plurality of electronic ink data points, such as by Huffman encoding. In this context, the high-order derivative is a derivative of an order of two or greater. By first representing the electronic ink data points with a high-order derivative and thereafter encoding the high-order derivative, a compressed representation is obtained. By compressing the representation of the data points, the amount of storage capacity required to store and/or the bandwidth required to transmit the representation of the data points decreases.
In one embodiment, the pen-enabled computing device further includes a user interface that interacts with the processing element to provide handwritten information to a user. In a further embodiment, the pen-enabled computing device includes a storage device for storing the encoded high-order derivative of the electronic ink data points. In yet another embodiment, the pen-enabled computing device further includes a transmitter for transmitting the encoded high-order derivative of the plurality of electronic ink data points to another computing device, such as a server or the like.
In operation, the handwriting capture interface captures the electronic ink data points based upon the position of the writing stylus. In embodiments including an electronic handwriting tablet, the handwriting capture interface captures the electronic ink data points based upon the position of the writing stylus with respect to the electronic handwriting tablet. The processing element then determines the high-order derivative of the electronic ink data points. In some embodiments, the high-order derivative values are tokenized, whereby tokens are assigned to represent the high-order derivative. Tokenizing the high-order derivatives reduces the number of possibilities represented by the encoded data and, therefore, the number of distinct encoded values. Using Huffman encoding, for example, each Huffman code corresponds to a leaf node in a canonical Huffman tree. By tokenizing, the number of leaf nodes is reduced.
Next, the processing element encodes the high-order derivative (either directly or following tokenization) to obtain a compressed representation of the electronic ink data points. According to one aspect of the present invention, the foregoing operations are preferably performed by a computer program product executing within the pen-enabled computing device. In embodiments including a storage device, the compressed representation of the electronic ink data points is stored after being encoded. In embodiments including a transmitter, the compressed representation of the electronic ink data points is transmitted after being encoded. In either embodiment, the original electronic ink data points can then be reconstructed based upon the high-order derivative and independent of all but one of the electronic ink data points that were previously captured.
To allow a user to view handwritten information captured by the pen-enabled computing device, the present invention also provides a system for transmitting handwritten information that includes a first computing device, such as a pen-enabled computing device, having a writing stylus, a handwriting capture interface, a processing element responsive to the stylus, and a transmitter. The handwriting capture interface of the first computing device captures the electronic ink data points based upon a position of the writing stylus and the processing element determines the high-order derivative of the electronic ink data points. In one embodiment, the processing element of the first computing device also tokenizes and then encodes the high-order derivative of the electronic ink data points. The transmitter, in turn, transmits data representative of the high-order derivative of the electronic ink data points. In one embodiment, the first computing device further includes a storage device for storing the high-order derivative of the electronic ink data points.
The system of this embodiment further includes a second computing device for receiving the data transmitted by the first computing device. The second computing device includes a processing element for reconstructing the electronic ink data points based upon the high-order derivative without using the original electronic ink data points that were captured by the first computing device. In one embodiment, the second computing device further includes a user interface that interacts with the processing element of the second computing device to provide the handwritten information to a user. In embodiments in which the high-order derivative has been encoded prior to transmission by the first computing device, the processing element of the second computing device is adapted to reconstruct the plurality of electronic ink data points by decoding the high-order derivative of the plurality of electronic ink data points. In a further embodiment, the processing element of the second computing device is capable of formatting the reconstructed plurality of electronic ink data points into handwritten information capable of being communicated by email, facsimile and/or instant messaging.
The present invention, therefore, provides a pen-enabled computing system, device, computer program product and associated method for representing a series of electronic ink data points, while further reducing the storage capacity required to store and/or the bandwidth required to transmit the data points. By compressing the electronic ink data points with a high-order derivative, the number of unique numerical values that are required to represent the data points is reduced and, by encoding the high-order derivative, the number of bits required to represent each unique numerical value is also decreased. Accordingly, the storage capacity required to store and/or the bandwidth required to transmit the handwritten data is reduced, while still permitting the original handwriting input to be reconstructed in a lossless manner.